工控網(wǎng)首頁
>

應(yīng)用設(shè)計(jì)

>

SIMATIC WinAC中OPC在分布式SCADA中的應(yīng)用

SIMATIC WinAC中OPC在分布式SCADA中的應(yīng)用

摘 要
本文首先分析了OPC產(chǎn)生的背景,介紹了OPC具有的強(qiáng)大可互操作性和對網(wǎng)絡(luò)的支持,使用SIEMENS公司的SIMATIC WinAC插槽型412和S7-200系列PLC,運(yùn)用OPC技術(shù)開發(fā)出一套飼料配比分布式測控系統(tǒng),取得了良好的使用效果和經(jīng)濟(jì)效益。

關(guān)鍵詞
OPC(用于過程的自動化) WinAC SCADA(數(shù)據(jù)采集監(jiān)控) 飼料配比

The Application of SIMATIC WinAC OPC in Distributed SCADA

Ren Sicheng Wang Shuhe
(Ren Sicheng:The Key Laboratory of Complex Systems and Intelligence Science,Institute of Automation,
Chinese Academy of Sciences, Beijing 100080)
(Wang Shuhe:Information Science and Engineering College, Shandong University,
Shandong University-SIEMENS Electrical Engineering Laboratory, Jinan 250100)

一 引言
微處理器在工業(yè)領(lǐng)域的廣泛應(yīng)用,大大提高了工廠自動化的程度,降低了人們的勞動強(qiáng)度,提高了勞動生產(chǎn)效率。與此同時,工業(yè)過程控制本身也發(fā)生了日新月異的變化,控制的規(guī)模日趨龐大,復(fù)雜程度不斷提高,功能也越來越強(qiáng)大?,F(xiàn)在的一個實(shí)際的過程控制系統(tǒng)中可能包含有成千上萬個不同類型的硬件采集控制設(shè)備和相關(guān)的監(jiān)控程序。如何使它們有機(jī)協(xié)調(diào)地在一起工作,成為過程控制領(lǐng)域研究人員當(dāng)前最為關(guān)心的問題。
圖1
圖1 傳統(tǒng)的過程控制系統(tǒng)結(jié)構(gòu)

圖1中所示的傳統(tǒng)過程控制系統(tǒng)結(jié)構(gòu)是一種單一、專有的模式,任何一種人機(jī)界面(HMI)、數(shù)據(jù)采集與處理軟件(SCADA)等上位監(jiān)控軟件或其他應(yīng)用軟件(如顯示軟件、趨勢圖軟件、數(shù)據(jù)報(bào)表與分析軟件等)在使用某種硬件設(shè)備時都需要開發(fā)專用的驅(qū)動程序。這種結(jié)構(gòu)特點(diǎn)帶來了諸多自身無法克服的問題,新增應(yīng)用軟件或者硬件設(shè)備帶來的只會是驅(qū)動程序種類和數(shù)量的迅速增長,開發(fā)人員大量的時間和精力耗費(fèi)在重復(fù)性編寫通信驅(qū)動程序上,原有的驅(qū)動程序無法適應(yīng)升級后的硬件設(shè)備。顯然,傳統(tǒng)的過程控制系統(tǒng)結(jié)構(gòu)不能適應(yīng)過程控制發(fā)展的新要求,我們必須突破舊的模式尋求一種新的解決方法。

二 基于OPC(OLE for Process and Control)的過程控制系統(tǒng)結(jié)構(gòu)解決方案

為了解決上述問題,許多世界領(lǐng)先的自動化軟、硬件公司(如SIEMENS公司)與微軟公司合作共同制訂出了OPC標(biāo)準(zhǔn)。OPC標(biāo)準(zhǔn)是一個新的工業(yè)過程控制軟件接口標(biāo)準(zhǔn),定義了應(yīng)用Microsoft操作系統(tǒng)在基于PC的客戶機(jī)之間交換自動化實(shí)時數(shù)據(jù)的方法。
圖2
圖2 基于OPC的過程控制系統(tǒng)結(jié)構(gòu)

圖2中的基于OPC過程控制系統(tǒng)結(jié)構(gòu)采用客戶/服務(wù)器模式,通常把符合OPC規(guī)范的設(shè)備驅(qū)動程序稱為OPC服務(wù)器,而將符合OPC規(guī)范的應(yīng)用軟件統(tǒng)稱為OPC客戶。服務(wù)器充當(dāng)客戶與硬件設(shè)備之間的橋梁,客戶對硬件設(shè)備的數(shù)據(jù)讀寫操作由服務(wù)器代理完成,客戶不需要同硬件設(shè)備直接打交道,或者說客戶是獨(dú)立于設(shè)備的(即不管現(xiàn)場設(shè)備以何種形式存在,客戶都以統(tǒng)一的方式去訪問)。在客戶端和服務(wù)器端各自定義了統(tǒng)一的標(biāo)準(zhǔn)“接口”,接口具有不變特性,OPC所提供的接口標(biāo)準(zhǔn)事實(shí)上是一種“軟件接口標(biāo)準(zhǔn)”或“軟件總線”,它明確定義了客戶同服務(wù)器之間的通信機(jī)制,是連接客戶同服務(wù)器的橋梁和紐帶。這樣,我們可以自由選擇最符合我們實(shí)際要求的軟、硬件產(chǎn)品,然后將它們像“搭積木”一樣組合在一起進(jìn)行無縫地工作,這一切都來源于OPC所提供的強(qiáng)大互操作性的特點(diǎn),對此我們可以作一個形象的比喻:盡管家用電器的種類繁多,但它們的電源插頭與插座卻是統(tǒng)一的??梢赃@樣說,統(tǒng)一的標(biāo)準(zhǔn)接口是OPC的實(shí)質(zhì)和靈魂。
類似于工業(yè)組態(tài)軟件中的相關(guān)概念,OPC規(guī)范主要定義了數(shù)據(jù)訪問規(guī)范、報(bào)警和事件處理規(guī)范及歷史數(shù)據(jù)訪問規(guī)范三部分,對應(yīng)于每種規(guī)范可以實(shí)現(xiàn)相應(yīng)的OPC服務(wù)器。OPC數(shù)據(jù)訪問服務(wù)器在結(jié)構(gòu)上由服務(wù)器(Server)、組(Group)和項(xiàng)(Item)三級對象組成。在邏輯關(guān)系上,上一級對象是下一級對象的父對象,下一級對象則是上一級對象的子對象,OPC數(shù)據(jù)訪問服務(wù)器正是通過這種“集合”的概念來組織和管理其內(nèi)部結(jié)構(gòu)的。項(xiàng)對象作為結(jié)構(gòu)層次中最基本的單元直接對應(yīng)著物理硬件設(shè)備的某個具體數(shù)據(jù)單元,項(xiàng)對象作為物理數(shù)據(jù)的存儲載體,主要包含數(shù)據(jù)值(當(dāng)前設(shè)備單元中的數(shù)據(jù))、時間標(biāo)簽(當(dāng)前采集到的數(shù)據(jù)時間定位)和品質(zhì)信息(當(dāng)前采集到的數(shù)據(jù)可靠程度)等信息。
客戶對硬件設(shè)備的數(shù)據(jù)讀寫操作分為同步和異步兩種方式。同步方式適合于發(fā)送、接收數(shù)據(jù)量較少的場合;相比同步方式,異步方式占用較少的資源,效率更高,適合大數(shù)據(jù)量的場合,在實(shí)際中的應(yīng)用也更為廣泛。在沒有開發(fā)出OPC標(biāo)準(zhǔn)之前,異步方式的存取是不可能的,會導(dǎo)致存取沖突的發(fā)生。
OPC除了具有高效的互操作性外,另一顯著特點(diǎn)是能夠方便地實(shí)現(xiàn)在分布式環(huán)境下的應(yīng)用,也就是說,客戶和服務(wù)器可以位于局域網(wǎng)、廣域網(wǎng)或Internet上的不同計(jì)算機(jī)上,它同網(wǎng)絡(luò)應(yīng)用緊密結(jié)合突破了空間上的限制。為了實(shí)現(xiàn)在分布式環(huán)境下的應(yīng)用,OPC采用了分布式組件對象模型(DCOM,Distributed Component Object Model)技術(shù),DCOM是在組件對象模型(COM,Component Object Model)的基礎(chǔ)上進(jìn)一步擴(kuò)展得到的,通過DCOM我們可以將現(xiàn)有的服務(wù)器和客戶程序轉(zhuǎn)移到標(biāo)準(zhǔn)化的分布式計(jì)算環(huán)境中來;另一方面,DCOM負(fù)責(zé)處理網(wǎng)絡(luò)協(xié)議低層次的細(xì)節(jié)問題,從而使我們能夠集中精力解決其他問題。DCOM直接使用現(xiàn)有的網(wǎng)絡(luò)協(xié)議如TCP/IP、UDP、IPX/SPX以及NetBIOS等,我們可以在不改變網(wǎng)絡(luò)現(xiàn)有結(jié)構(gòu)的情況下實(shí)現(xiàn)分布式應(yīng)用,而且我們不用關(guān)心具體采用的是何種協(xié)議。

三 SIMATIC WinAC中對OPC的支持

SIMATIC WinAC是SIEMENS公司基于PC的自動化套件的核心部分。它在通用的標(biāo)準(zhǔn)PC平臺上,將控制、人機(jī)界面、數(shù)據(jù)處理和通訊等功能組合在一起予以解決;并基于Windows NT/2000操作系統(tǒng)和標(biāo)準(zhǔn)的接口(ActiveX、OPC),作為一種靈活開放的體系結(jié)構(gòu),便于集成第三方的應(yīng)用程序(如OPC客戶程序)。SIMATIC WinAC產(chǎn)品系列包括軟件型(基本型、實(shí)時型)和插槽型(412、416)兩種,分別適用于不同的應(yīng)用場合,每種產(chǎn)品均提供了對OPC的功能支持。具體地講,WinAC中的Computing軟件提供了一個OPC服務(wù)器,OPC客戶應(yīng)用程序通過該服務(wù)器與控制引擎(如WinLC、CPU 416-2 DP ISA或其他的S7系列PLC等)通訊,并對過程數(shù)據(jù)進(jìn)行存取。另外,SIMATIC Computing還允許用戶使用OPC服務(wù)器與多個控制引擎建立連接,用戶也可以通過網(wǎng)絡(luò)(如局域網(wǎng))建立與控制引擎的連接。以下OPC客戶程序代碼簡單示范了在分布式環(huán)境中如何建立與服務(wù)器的連接、創(chuàng)建并管理各級對象和實(shí)現(xiàn)對數(shù)據(jù)的讀寫操作。
CoInitialize(NULL);
//初始化COM
CLSIDFromProgID(L(“OPCServer.WinAC”),&clsid);
//查詢Computing提供的OPC服務(wù)器的CLSID
CoCreateInstanceEx(clsid,NULL,CLSCTX_SERVER,pServerInfo,cmq,pResults);
//pServerInfo參數(shù)制定要連接的Computing OPC服務(wù)器的相關(guān)信息,并建立連接
POPCUnknown->QueryInterface(IID_IOPCServer,(viod **)&pOPCServer);
//獲得服務(wù)器對象的指針,并進(jìn)行相關(guān)操作

AddGroup…
//新建組對象,進(jìn)行相關(guān)操作
Read…
Write…
//數(shù)據(jù)項(xiàng)讀寫

Release…
CoUninitialize…
//釋放接口,客戶程序結(jié)束

四 Computing OPC服務(wù)器和OPC客戶應(yīng)用程序在分布式環(huán)境中的參數(shù)配置

當(dāng)Computing OPC服務(wù)器組件同OPC客戶程序分別運(yùn)行在網(wǎng)絡(luò)上的不同計(jì)算機(jī)上時,它們之間的通信連接是通過DCOM來完成的。如何對DCOM的參數(shù)進(jìn)行正確的配置,筆者經(jīng)過大量的實(shí)踐摸索,總結(jié)出了一套簡單、可行的辦法。配置具體步驟如下:
Computing OPC服務(wù)器組件運(yùn)行時所在的計(jì)算機(jī)信息:
計(jì)算機(jī)名:ComputerofServer 用戶名: UserofServer
OPC客戶程序運(yùn)行時所在計(jì)算機(jī)信息:
計(jì)算機(jī)名:ComputerofClient 用戶名: UserofClient
1 對服務(wù)器端參數(shù)配置。
運(yùn)行dcomcnfg(由操作系統(tǒng)提供的DCOM參數(shù)配置工具),在“應(yīng)用程序”一欄中選中“OPC_WinAC”,在其屬性對話框中各參數(shù)設(shè)置如下:
“常規(guī)”—“身份驗(yàn)證級別”—“默認(rèn)值”;
“位置”—“在這臺計(jì)算機(jī)上運(yùn)行應(yīng)用程序”;
“安全性”—“使用自定義訪問權(quán)限”—添加“UserofClient” (允許訪問);
—“使用自定義啟動權(quán)限”—添加“UserofClient、Administrators、System、Interactive” (允許訪問);
—“使用自定義配置權(quán)限”—添加“UserofServer、UserofClient、Everyone、System、Creator Owner、Power Users、Administrators”;
“身份標(biāo)識”—“交互式用戶”;
確認(rèn)返回到“分布式COM配置屬性”窗口后,在“默認(rèn)屬性”欄中分別設(shè)定“在這臺計(jì)算機(jī)上運(yùn)行分布式COM”、“默認(rèn)身份驗(yàn)證級別”為“連接”、“默認(rèn)模擬級別”為“匿名”;在“默認(rèn)安全機(jī)制”一欄中的“默認(rèn)訪問權(quán)限”中加入“Everyone、UserofClient”(允許訪問),“默認(rèn)啟動權(quán)限”中加入“Everyone、Interactive、Administrators、System、UserofClient”(允許訪問),“默認(rèn)配置權(quán)限”中加入“UserofServer、Everyone、System、Creator Owner、Power Users、Administrators”。至此,完成服務(wù)器端配置。
2 對客戶端參數(shù)配置。
運(yùn)行dcomcnfg,在“應(yīng)用程序”一欄中選中“OPC_WinAC”,在其屬性對話框中各參數(shù)設(shè)置如下:
“常規(guī)”—“身份驗(yàn)證級別”—“默認(rèn)值”;
“位置”—“在下列計(jì)算機(jī)上運(yùn)行應(yīng)用程序”,計(jì)算機(jī)名:“ComputerofServer”;
“安全性”—“使用自定義訪問權(quán)限”—添加“UserofClient、Ever
投訴建議

提交

查看更多評論
其他資訊

查看更多

釋放數(shù)字化潛力,西門子以科技創(chuàng)新和開放生態(tài)助推可持續(xù)發(fā)展走深入實(shí)

西門子啟動中壓配電年度創(chuàng)新巡展 攜手客戶共同賦能新型電力系統(tǒng)建設(shè)

西門子助力水務(wù)行業(yè)加速應(yīng)用人工智能

西門子攜數(shù)字化和低碳化創(chuàng)新產(chǎn)品和解決方案亮相中國制冷展

西門子Xcelerator迎來首家第三方商店,開放平臺驅(qū)動數(shù)字化轉(zhuǎn)型加速落地